import dayjs from "dayjs"
import { removeConfigLayout } from "@/utils/cache/local-storage"

/** 格式化时间 */
export const formatDateTime = (time: string | number | Date) => {
  return time ? dayjs(new Date(time)).format("YYYY-MM-DD HH:mm:ss") : "-"
}
// 金额格式化
export function formatPrice(price: string | number, sym: string = "") {
  if (!price) {
    return "-"
  }
  return sym + String(price).replace(/\B(?=(\d{3})+(?!\d))/g, ",")
}

// 债务人金额展示 如果为null 返回0，否则返回 三位金额分隔 且保留两位小数
// 数据单位是元 改为 万元
export const debtorPrice = (price: string) => {
  if (parseFloat(price) === 0) {
    return "-"
  }
  if (!price) {
    return "-"
  }
  return formatPrice((parseFloat(price) / 10000).toFixed(2))
}
// 是否展示单位 图谱数据
export const unitIsshow = (price: string) => {
  if (!price || parseFloat(price) == 0) {
    return false
  } else {
    return true
  }
}

/** 用 JS 获取全局 css 变量 */
export const getCssVariableValue = (cssVariableName: string) => {
  let cssVariableValue = ""
  try {
    // 没有拿到值时，会返回空串
    cssVariableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariableName)
  } catch (error) {
    console.error(error)
  }
  return cssVariableValue
}

/** 用 JS 设置全局 CSS 变量 */
export const setCssVariableValue = (cssVariableName: string, cssVariableValue: string) => {
  try {
    document.documentElement.style.setProperty(cssVariableName, cssVariableValue)
  } catch (error) {
    console.error(error)
  }
}

/** 重置项目配置 */
export const resetConfigLayout = () => {
  removeConfigLayout()
  location.reload()
}

//创建a链接下载
export const createD = (url: string, name: string) => {
  const elink = document.createElement("a")
  elink.style.display = "none"
  elink.href = url
  elink.download = name ? name : ""
  elink.target = "_blank"
  document.body.appendChild(elink)
  elink.click()
  document.body.removeChild(elink)
}
